home *** CD-ROM | disk | FTP | other *** search
/ Shareware for Windows / Trust Shareware CD.iso / winshare / filemgt / inityme / inityme.hlp < prev    next >
Encoding:
Text File  |  1994-07-04  |  12.4 KB  |  474 lines

  1. Computer Tyme IniTyme * Copyright 1993-94 by Marc Perkel
  2. All Rights Reserved * Version 2.34 * Release Date: 07-05-94
  3.  
  4. Computer Tyme * 411 North Sherman, Suite 300 * Springfield Mo. 65802
  5. (417) 866-1222 Voice * (800) 548-5353 Sales * (417) 866-1665 Fax/BBS
  6.  
  7. * We're moving! - Starting 1995 - Computer Tyme, Fair Grove Mo. 65648
  8.  
  9. IniTyme is a Windows *.INI file manipulator. It is designed to assist the
  10. network administrator who has to maintain INI files for many users.
  11.  
  12. USAGE: INITYME ChangeFile IniFile
  13.        or MARXMENU INITYME ChangeFile IniFile
  14.  
  15. Example:
  16.   INITYME CHANGE.INI SYSTEM.INI
  17.  
  18. In the above example CHANGE.INI is the control file that will control the
  19. changes that will be written to the target file SYSTEM.INI. The ChangeFile
  20. is formatted like an INI file. A sample changefile might look like this:
  21.  
  22.     ; CHANGE.INI : A sample changefile for the IniTyme Program.
  23.  
  24.     subst 'C:\WINDOWS\PM4\' 'W:\PM4'
  25.  
  26.     [boot]
  27.     del sound.drv=
  28.  
  29.     del [keyboard]
  30.  
  31.     [386Enh]
  32.     Paging=1
  33.     Device=mydev.386
  34.     foo=bar
  35.     ADD TestMode=3
  36.     CHANGE mydevice=mydriver.386
  37.  
  38.     [fonts]
  39.     subst 'V:\' 'P:\WINDOWS\'
  40.  
  41. Any line that starts with the semi-colon is a comment and will not be
  42. processed.
  43.  
  44. Adding and updating lines is done by listing the new lines as you wish them
  45. to appear. In the example there is a line in the [386ENH] group that reads
  46. PAGING=1. If the target INI files does not contain a [386ENH] group it will
  47. be created. The default mode is - change it if it's there, add it if
  48. it's not.
  49.  
  50. If that group does not contain a PAGING=1 line it will be added to the
  51. group. If a line in the [386ENH] group already exists that sets PAGING=2 it
  52. will be changed to PAGING=1. The word DEVICE= is a special case if it is
  53. found in the [386Enh] section and it is automatically added unless the whole
  54. line matches something that's already there.
  55.  
  56.  
  57. ADD
  58. ---
  59.  
  60. Using the word ADD in front of the line causes the line to be added if it
  61. isn't already there, but not changed if it is already there.
  62.  
  63.  
  64. CHANGE
  65. ------
  66.  
  67. Using the word CHANGE in front of the line causes the line to be changed if
  68. it is there, but not added if it isn't there.
  69.  
  70.  
  71. DEL
  72. ---
  73.  
  74. Using the word DEL in front of the line causes a matching line to be deleted
  75. from the INI file. The DEL command can also be used to remove entire groups
  76. as illustrated in the example line DEL [KEYBOARD].
  77.  
  78.  
  79. ADDITEM
  80. -------
  81.  
  82. When using commands like Run=Prog1 Prog2 Prog3 you might want to add more
  83. items to the list. If you change file contains: "AddItem Run=Prog4 Prog5"
  84. then the result will be "Run=Prog1 Prog2 Prog3 Prog4 Prog5"
  85.  
  86.  
  87. DELITEM
  88. -------
  89.  
  90. Similar to AddItem, DelItem removes items form a list. If your INI file
  91. contains "Run=Prog1 Prog2 Prog3 Prog4" and your change INI file contains
  92. "DelItem Run=Prog2 Prog4" then the result will be: "Run=Prog1 Prog3"
  93.  
  94.  
  95. ADDVALUE
  96. --------
  97. If a line is found, AddValue will add (or subtract for negative values)
  98. the amount of the line in the change file.
  99.  
  100.  Example:
  101.     Original file has: NumValue=9
  102.     Change file has: AddValue NumValue=3
  103.     Result file will have: NumValue=12
  104.  
  105.  
  106. AFTER
  107. -----
  108.  
  109. If you use the command AFTER <line> then the next item that is added or
  110. changed will be put after the line you specified. If the line you
  111. specified isn't found then it is added to the end of the section. The
  112. after command can also be used to move a line from one place to another
  113. within the same section.
  114.  
  115.  Example:
  116.     After Run=
  117.     Foo=Bar
  118.  
  119.  
  120. BEFORE
  121. ------
  122. Before is just like after except it adds the line before the specified
  123. line.
  124.  
  125.  
  126. FIRST
  127. -----
  128.  
  129. If you use the word first, then the next item added will be first in the
  130. section.
  131.  
  132.  
  133. SUBST
  134. -----
  135.  
  136. The SUBST command is used to replace strings within an INI file. It can be
  137. used in two fashions either globally throughout the file or locally within
  138. a group. In the above example it is used both ways.
  139.  
  140. Putting the line SUBST 'C:\WINDOWS\PM4\' 'W:\PM4' before the first group
  141. header will cause the path string 'C:\WINDOWS\PM4\' to be globally replaced
  142. throughout the file with 'W:\PM4'. In the last line of the above example the
  143. SUBST 'V:\' 'P:\WINDOWS\' command will replace only those strings that match
  144. in the group [fonts].
  145.  
  146. The SUBST command also supports referrences to environment variables.
  147. Thus F:\HOME\%USER%\WINDOWS becomes F:\HOME\MARC\WINDOWS.
  148.  
  149. INITYME also has special provisions for handling the [GROUPS] section on the
  150. PROGMAN.INI. This section numbers the groups that are referenced. INITYME
  151. will scan the groups listed and determine the first available group number
  152. when it is adding to the [GROUPS] group.
  153.  
  154. To illustrate, if the PROGMAN.INI files group section reads as follows:
  155.  
  156.     [Groups]
  157.     Group1=H:\WINDOWS\MAIN.GRP
  158.     Group2=H:\WINDOWS\ACCESSOR.GRP
  159.     Group4=H:\WINDOWS\STARTUP.GRP
  160.     Group5=H:\WINDOWS\BP7.GRP
  161.     Group6=H:\WINDOWS\ALDUS.GRP
  162.     Group7=F:\HOME\MARC\WINDOWS\WORDFORW.GRP
  163.     Group8=F:\HOME\MARC\WINDOWS\MICROSOF.GRP
  164.     Group3=F:\HOME\MARC\WINDOWS\EDOS.GRP
  165.  
  166.  
  167. and your ChangeFile contains:
  168.  
  169.     [Groups]
  170.     DEL group=BP7.GRP
  171.     Group=MAIN.GRP
  172.     Group=MYGROUP.GRP
  173.     DEL group=EDOS.GRP
  174.     Group=Z:\SYSTEM\TEST.GRP
  175.     Group=MASTER.GRP
  176.  
  177. After executing IniTyme your PROGMAN.INI group section would now read:
  178.  
  179.     [Groups]
  180.     Group1=MAIN.GRP
  181.     Group2=H:\WINDOWS\ACCESSOR.GRP
  182.     Group4=H:\WINDOWS\STARTUP.GRP
  183.     Group6=H:\WINDOWS\ALDUS.GRP
  184.     Group7=F:\HOME\MARC\WINDOWS\WORDFORW.GRP
  185.     Group8=F:\HOME\MARC\WINDOWS\MICROSOF.GRP
  186.     Group5=MYGROUP.GRP
  187.     Group3=Z:\SYSTEM\TEST.GRP
  188.     Group9=MASTER.GRP
  189.  
  190.  
  191. CONDITIONALS
  192. ------------
  193.  
  194. IniTyme supports conditional changes. If the condition is met then the
  195. changes are made. If statements can be nested.
  196.  
  197. if [condition]
  198.    Device=mydev.386
  199.    foo=bar
  200. else
  201.    Device=otherdev.386
  202.    foo=notbar
  203. endif
  204.  
  205. CONDITIONAL LIBRARY
  206. -------------------
  207.  
  208. And
  209. Returns the logical And of two values.
  210.  
  211.  Example:
  212.    if InGroup 'EveryOne' and InGroup 'Accounting'
  213.  
  214.  
  215. Or
  216. Returns the logical Or of two values.
  217.  
  218.  Example:
  219.    if InGroup 'EveryOne' or InGroup 'Accounting'
  220.  
  221.  
  222. Not
  223. Returns the logical Not of a value.
  224.  
  225.  Example:
  226.    if Not InGroup 'EveryOne'
  227.  
  228.  
  229. +
  230. Adds two values.
  231.  
  232.  Example:
  233.    if 'A' + 'B' = 'AB'
  234.  
  235.  
  236. -
  237. Subtracts two values.
  238.  
  239.  Example:
  240.    if 5 - 3 < 4
  241.  
  242.  
  243. =
  244. Compares two values and returns true if they are equal.
  245.  
  246.  Example:
  247.     if 2 + 2 = 4
  248.  
  249.  
  250. <>
  251. Compares two values and returns true if they are not equal.
  252.  
  253.  Example:
  254.     if 2 + 2 <> 5
  255.  
  256.  
  257. >
  258. Compares two values and returns true if the first value is greater than the
  259. second value.
  260.  
  261.  Example:
  262.     if 'D' > 'C'
  263.  
  264.  
  265. <
  266. Compares two values and returns true if the first value is less than the
  267. second value.
  268.  
  269.  Example:
  270.     if 'C' < 'D'
  271.  
  272.  
  273. >=
  274. Compares two values and returns true if the first value is greater than or
  275. equal to the second value.
  276.  
  277.  Example:
  278.     if 'D' >= 'C'
  279.  
  280.  
  281. <=
  282. Compares two values and returns true if the first value is less than or
  283. equal to the second value.
  284.  
  285.  Example:
  286.     if 'C' <= 'D'
  287.  
  288.  
  289. ( )
  290. Parens begin and end logical grouping for interpretation.
  291.  
  292.  Example:
  293.     if ('A' < 'B') and (9 > (5 + 3))
  294.  
  295.  
  296. ReadEnv (Environment String)
  297. Returns the value of an environment variable.
  298.  
  299.  Example:
  300.    if ReadEnv 'ENHANCED' = 'Y'
  301.  
  302.  
  303. ValueOf
  304. Return the value of an element in the current section.
  305.  
  306.  Example:
  307.     if ValueOf 'PagingDrive' <> 'H'
  308.        PagingDrive=C
  309.     endif
  310.  
  311.  
  312. UpperCase
  313. Returns the UpperCase of a string.
  314.  
  315.  Example:
  316.     if UpperCase ReadEnv 'ENHANCED' = 'Y'
  317.  
  318.  
  319. CPU
  320. Returns the class of CPU chip you are running.
  321.  
  322.  Example:
  323.     if CPU >= 3
  324.  
  325.  
  326. MathChip
  327. Returns true if you have a math coprocessor.
  328.  
  329.  Example:
  330.     if MathChip
  331.  
  332.  
  333. Display
  334. Returns the type of video card. Types returned are HERC, CGA, EGA, VGA.
  335.  
  336.  Example:
  337.     if Display = 'VGA'
  338.  
  339.  
  340.  
  341. InGroup (Group)
  342. Returns True if user is in the Novell group.
  343.  
  344.  Example:
  345.    if InGroup 'EveryOne'
  346.  
  347.  
  348. Station
  349. Returns the workstation address on a Novell network.
  350.  
  351.  Example:
  352.     if Station = '250:33333'
  353.  
  354.  
  355. UserName:
  356. Returns the Novell login name of the user.
  357.  
  358.  Example:
  359.     if UserName = 'Marc'
  360.  
  361.  
  362. BACKUPS
  363. -------
  364.  
  365. Whenever INITYME runs it creates a backup of the original file with a *.BNI
  366. extension. If you decide you don't like the changes you've made you can
  367. execute a one generation restore with the command:
  368.  
  369.      INITYME RESTORE SYSTEM.INI
  370.  
  371. This will delete the current SYSTEM.INI file and rename the SYSTEM.BNI file
  372. to SYSTEM.INI. If a matching BNI file is not present then the restore
  373. command does not do anything.
  374.  
  375. If by chance you are in a situtation where murphy has tried to make your day
  376. really bad and you've screwed up your INI files royally, be sure to remember
  377. the SALVAGE command from netware. But nothing, not even salvage, is an
  378. acceptable substitute for a current set of backups. One suggestion might be
  379. to use PKZIP to ZIP up a set of your pre-modified INI files. This gives you
  380. the opportunity to play without risk. Nothing beats backups!
  381.  
  382. IniTyme can be used to update many INI file in bulk by creating a ListFile
  383. contains a list of INI files. Then simply provide IniTyme with the filename
  384. of the list file instead of a specific INI file. The syntax of a list file
  385. should be something like:
  386.  
  387.      \home\phil\windows\system.ini
  388.      \home\marc\windows\system.ini
  389.      ...etc...
  390.  
  391. You can also pipe a list of files to IniTyme as follows:
  392.  
  393.   WHEREIS SYSTEM.INI|INITYME CHANGE.INI
  394.  
  395. File name referrences in INITYME can include referrences to environment
  396. variables. Thus \HOME\%USER%\WINDOWS\SYSTEM.INI is a valid filename if the
  397. environment variable USER is set.
  398.  
  399.  
  400. LOGGING CHANGES
  401. ---------------
  402.  
  403. If you want to create a log file of the changes that were made to the file
  404. add the command LOG [FileName] in you CHANGE.INI file, before the first
  405. section header, and INITYME will log the changes in the FileName you
  406. specify. If the FileName isn't specified the default name is your INI file
  407. name with a LOG extension.
  408.  
  409.  
  410. TEST MODE
  411. ---------
  412.  
  413. If you want to test a change file without changing the original INI file
  414. then add the word TestMode to the CHANGE.INI file before the first section
  415. header. In test mode the changes are written to the BNI file and the INI
  416. file is left untouched. You can then look at the BNI file to see the
  417. changes.
  418.  
  419.  
  420. NOBACKUP
  421. --------
  422. The NoBackup command is used if you don't want to create the BNI backup
  423. file. This will save disk space, however, you lose the safety of having
  424. the ability to undo what you just did. The BNI file is actually created
  425. and then deleted, so if you have Novell's salvage of and UnDelete
  426. command you can get the BNI file back.
  427.  
  428.  
  429.  
  430. COMPANION PROGRAMS INIDIF GRPTYME
  431. ---------------------------------
  432.  
  433. Included with INITYME is INIDIF.
  434.  
  435. INIDIF compares two INI files and produces a third file that contains the
  436. differences between the two INI files. This allows you to install a new
  437. windows program and compare the changed INI file to the original INI file.
  438. The change file can then be used with INITYME to apply the same changes to
  439. other INI files of other users on a network.
  440.  
  441.  USAGE: INIDIF NewFile OldFile ChangeFile
  442.  
  443.  Example:
  444.    INIDIF SYSTEM.INI SYSTEM.OLD SYSTEM.CHG
  445.  
  446. GrpTyme is a DOS utility to create and modify Microsoft Windows GRP
  447. files used by Program Manager. It allows network managers to add icons,
  448. remove icons, or modify icon information inside of Program Manager's
  449. group files. Network managers can also create new groups from a text
  450. file that has a format similar to a Windows INI file. On a network,
  451. GrpTyme can help automate the updating of thousands of GRP files in a
  452. single process. If you want to add a new program item to the desktop of
  453. hundreds of network Windows users, it would take a serious amount of
  454. work. GrpTyme can do in minutes what would normally take days to
  455. accomplish.
  456.  
  457. GrpTyme also has the ability to look into existing GRP files and read
  458. the information into a GNI file. This file is a text file much like an
  459. INI file, and this file can me manipulated with IniTyme and then
  460. recompiled into a GRP file. GrpTyme is sold separately.
  461.  
  462.  
  463. WE WANT YOUR INPUT
  464. ------------------
  465.  
  466. If you like this program and you can think of more features that it needs,
  467. give me a call and I will probably add them.
  468.  
  469. IniTyme is licensed for $35/User, $95/fileserver.
  470.  
  471. IniTyme is written in the MarxMenu network system language. IniTyme is
  472. included free with the Network Survival Kit along with source code allowing
  473. you to add your own features to the program.
  474.